←Select platform

ReplaceIntersectedCharacters(IEnumerable<LeadRect>,char) Method

Summary

Replaces the characters intersecting with the specified rectangles.

Syntax
C#
Objective-C
C++/CLI
Python
public bool ReplaceIntersectedCharacters( 
   IEnumerable<LeadRect> bounds, 
   char replaceCharacter 
) 
- (BOOL)replaceIntersectedCharacters:(NSArray<NSValue *> *)bounds withCharacter:(char)replaceCharacter; 
public:  
   bool ReplaceIntersectedCharacters( 
      IEnumerable<LeadRect^>^ bounds, 
      Char replaceCharacter 
   ) 
def ReplaceIntersectedCharacters(self,bounds,replaceCharacter): 

Parameters

bounds

List of rectangles containing the bounds to check. These values are in pixels.

replaceCharacter

The new character code to use. Use 0 to delete the characters.

Return Value

true if one or more characters were replaced; otherwise, false.

Remarks

This is a helper method used to quickly perform actions such as redacting or removing characters from the recognition data based on their locations.

This method calls ReplaceIntersectedCharacters(rects, replaceCharacter, intersectionPercentage) with intersectionPercentage equal to 0.

Example

The following example performs OCR, then redacts all characters under a specified rectangle, and saves the result as a PDF file.

C#
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Ocr; 
using Leadtools.Forms.Common; 
using Leadtools.Document.Writer; 
using Leadtools.WinForms; 
using Leadtools.Drawing; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Color; 
 
public void OcrAndRedactToPdf() 
{ 
   string tifFileName = Path.Combine(LEAD_VARS.ImagesDir, "OCR1.tif"); 
   string pdfFileNameBefore = Path.Combine(LEAD_VARS.ImagesDir, "OCR-Redact-Before.pdf"); 
   string pdfFileNameAfter = Path.Combine(LEAD_VARS.ImagesDir, "OCR-Redact-After.pdf"); 
 
   // Create OCR engine 
   using (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD)) 
   { 
      ocrEngine.Startup(null, null, null, LEAD_VARS.OcrLEADRuntimeDir); 
 
      // Load the OCR1.tif image and recognize it 
      RasterImage image = ocrEngine.RasterCodecsInstance.Load(tifFileName, 1); 
      using (IOcrPage ocrPage = ocrEngine.CreatePage(image, OcrImageSharingMode.AutoDispose)) 
      { 
         ocrPage.Recognize(null); 
 
         // Save it, note that all the data is in the result PDF file, including "Fast Facts" 
         using (IOcrDocument ocrDocument = ocrEngine.DocumentManager.CreateDocument(null, OcrCreateDocumentOptions.AutoDeleteFile)) 
         { 
            ocrDocument.Pages.Add(ocrPage); 
            ocrDocument.Save(pdfFileNameBefore, DocumentFormat.Pdf, null); 
         } 
 
         // Now, redact "Fast Facts", this could be an input from the user based on rubber banding or Regex. 
         LeadRect redactRect = LeadRect.FromLTRB(300, 800, 730, 900); 
         char replaceCharacter = '*'; 
         IOcrPageCharacters ocrPageCharacters = ocrPage.GetRecognizedCharacters(); 
         ocrPageCharacters.ReplaceIntersectedCharacters(new LeadRect[] { redactRect }, replaceCharacter); 
         ocrPage.SetRecognizedCharacters(ocrPageCharacters); 
 
         // Save it again, note that "Fast Facts" is replaced with * characters 
         using (IOcrDocument ocrDocument = ocrEngine.DocumentManager.CreateDocument(null, OcrCreateDocumentOptions.AutoDeleteFile)) 
         { 
            ocrDocument.Pages.Add(ocrPage); 
            ocrDocument.Save(pdfFileNameAfter, DocumentFormat.Pdf, null); 
         } 
      } 
   } 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
   public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS23\Bin\Common\OcrLEADRuntime"; 
} 
Requirements

Target Platforms

Help Version 23.0.2024.4.19
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Ocr Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.